package model

import "time"

type CommonResDTO struct {
	Code int         `json:"code"`
	Data interface{} `json:"data"`
	Msg  string      `json:"msg"`
}

type SimpleUserInfo struct {
	Id       int64  `json:"id"`
	Platform string `json:"platform"`
	OpenId   string `json:"open_id"`
	UnionId  string `json:"union_id"`
}

type LoginReqDTO struct {
	Platform string `json:"platform"`
	OpenId   string `json:"openId"`
	UnionId  string `json:"unionId"`
}

type LoginResDTO struct {
	Token string `json:"token"`
}

type GenReqDTO struct {
	LongUrl         string `json:"longUrl"`
	ExpiredDuration int    `json:"expiredDuration"`
}

type GenResDTO struct {
	ShortUrl  string    `json:"shortUrl"`
	ExpiredAt time.Time `json:"expiredAt"`
}

type ShortHistoryReqDTO struct {
	Page int `json:"page"`
	Size int `json:"size"`
}

type ShortHistoryResDTO struct {
	*ShortHistoryReqDTO
	List []*ShortLinkInfo `json:"list"`
}

type ShortLinkInfo struct {
	ShortUrl  string    `json:"shortUrl"`
	LongUrl   string    `json:"longUrl"`
	ExpiredAt time.Time `json:"expiredAt"`
	CreatedAt time.Time `json:"createdAt"`
	UpdatedAt time.Time `json:"updatedAt"`
}
